Increasingly, the utility of computing devices lies in their ability to communicate with one another. For example, users of computing devices traditionally used to utilize computing devices for content creation, such as the creation of textual documents or graphical images. Increasingly, however, the most popular utilizations of computing devices are in the browsing of information sourced from other computing devices, the interaction with other users of other computing devices, and other such utilizations that rely on the ability of computing devices to communicate with one another. Consequently, being able to monitor the network communications between two or more computing devices becomes increasingly important. Such monitoring can be utilized to resolve network communication issues, such as the failure of communications to reach their intended target, the failure of communications to be efficiently routed between two or more computing devices, and other like network communication anomalies.
When attempting to resolve network communication issues, it can be important that data being transmitted among a network of computing devices is provided to analysis mechanisms in an unchanged manner. For example, frames of data, representing any sort of data packetization for network communication can be provided to analysis mechanisms in the same manner in which those frames are communicated amongst the computing devices of the network. Unfortunately, were traditional networking hardware utilized to redirect or copy frames of data to analysis mechanisms, such traditional networking hardware would modify such frames by, for example, changing relevant portions of the headers of such frames to direct the frames to the analysis mechanisms instead of, for example, their intended target. Such modification can hide the source of network communication issues, rendering such issues far more difficult to identify and resolve.
To ensure that frames of data being communicated between computing devices of a network are provided to analysis mechanisms in an unchanged manner, customized networking hardware has typically been utilized. Such customized networking hardware can be prohibitively expensive, especially when designed to accommodate the volume of data typically exchanged by computing devices in an intensive network environment, such as a data center. Furthermore, because such networking hardware is customized for these specific applications, economies of scale do not operate to reduce the cost of such customized networking hardware over time. Consequently, while “ordinary” networking hardware, such as the networking hardware that can be purchased by consumers and small businesses, continues to provide ever-increasing performance for a modest cost, the customized networking hardware referenced above remains orders of magnitude more expensive.